home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / SLIP / Tone / ADI-100_v1.6 next >
Text File  |  1994-10-19  |  7KB  |  330 lines

  1. #
  2. #  script for ADI-100 19200 bps 
  3. #
  4. #    You should preset the following parameters by using
  5. #   the "Parameters..." item under the "Script" popup 
  6. #   menu after selecting this script:
  7. #
  8. #         $DisconnectString 
  9. #         $phone
  10. #         $user
  11. #         $password
  12. #         $PromptForPhoneNumber     Must be YES to work (not yes)
  13. #         $PromptForUserName          Must be YES to work (not yes)
  14. #         $PromptForPassword          Must be YES to work (not yes)
  15. #
  16. #
  17.  
  18. #    Let the user know we're starting up. Set up a global
  19. #    abort action.
  20.  
  21. on abort goto abort
  22.  
  23. if "$PromptForPhoneNumber" ne "YES"  goto nextone
  24.  
  25. # Ask for the phone number.
  26. message " \n\n"
  27. message "\bPlease enter the phone number:"
  28. ask phone
  29. message " \n"
  30. message "Thank you.\n"
  31.  
  32. label nextone
  33. if "$PromptForUserName" ne "YES"  goto nexttwo
  34.  
  35. # Ask for the username.
  36. message " \n\n"
  37. message "\b Please enter your username:"
  38. ask user
  39. message " \n"
  40. message "Thank you.\n"
  41.  
  42. label nexttwo
  43. if "$PromptForPassword" ne "YES"  goto nextthree
  44.  
  45. # Ask for a password to log into the SLIP server.
  46. message " \n\n"
  47. message "Contacting SLIP server as $user.\n"
  48. message "\b Please enter your password:"
  49. askp password
  50. message " \n"
  51. message "Thank you.\n"
  52.  
  53. label nextthree
  54. #
  55. #   Turn DTR off; wait a bit; turn it back on
  56. #
  57. dtr off
  58. message "Initializing modem..."
  59. delay 2
  60. dtr on
  61.  
  62. flush
  63. send "\r"
  64. {
  65. iftime 5 cantinitterminal
  66. ifmatch "CHANGE(T) >" break
  67. }
  68.  
  69. flush
  70. send "\r"
  71. {
  72. iftime 10 cantinitterminal
  73. ifmatch "CHANGE(T) >" break
  74. }
  75. #
  76. # Termial type must be 96
  77. #
  78. flush
  79. message "Changing terminal type..."
  80. send "T\r"
  81. {
  82.     ifmatch "TYPE >" break
  83.     ifmatch "TIMEOUT" goto nocarrier  # this has never been tested, but it should work
  84.     iftime 15 goto dialtimeout
  85. }
  86.  
  87. #    Dial the phone and wait for the terminal server
  88. #    to send its login banner. Some terminal servers
  89. #    may require you to autobaud before they will respond.
  90. #    Allow enough time for the modem handshake to complete.
  91.  
  92. message "Terminal Changed..."
  93. flush
  94. send "19\r"
  95. {
  96.   ifmatch "CHANGE(T)" break #
  97.   ifmatch "TIMEOUT" nocarrier #we should not go to the beginning again
  98.     iftime 45 goto dialtimeout
  99. }
  100.  
  101.  
  102. #
  103. # Let's dial the phone
  104. #
  105. flush
  106. message "Waking ADI-100..."
  107. on abort goto hangupabort  # We're about to go off hook, so use different abort handler.
  108. send "D\r"
  109. {
  110.     ifmatch "NUMBER >" break
  111.     ifmatch "BUSY" goto phonebusy  # this has never been tested, but it should work
  112.     iftime 15 goto dialtimeout
  113. }
  114.  
  115. #    Dial the phone and wait for the terminal server
  116. #    to send its login banner. Some terminal servers
  117. #    may require you to autobaud before they will respond.
  118. #    Allow enough time for the modem handshake to complete.
  119.  
  120. set phone 3-0291
  121. message "Dialing $phone..."
  122. flush
  123. on abort goto hangupabort  # We're about to go off hook, so use different abort handler.
  124. send "$phone\r"
  125. {
  126.     ifmatch "INITIATED" break
  127.     ifmatch "BUSY" goto phonebusy  #again, this has never been tested
  128.   ifmatch "CHANGE(T)" nocarrier #we should not go to the beginning again
  129.   ifmatch "TIMEOUT" nocarrier #we should not go to the beginning again
  130.     iftime 45 goto dialtimeout
  131. }
  132.  
  133. linespeed 19200
  134.  
  135. setcount 2 0
  136. label wakeup
  137. ifcountgt 2 3 goto cantlogin
  138. setcount 3 0
  139. label wakeserver
  140. message "Waking server..."
  141. flush
  142. ifcountgt 3 10 goto cantwakeserver
  143. send "\r"
  144. {
  145.     ifmatch "Username:" goto startlogin
  146.     iftime 2 goto wakeserver
  147. }
  148.  
  149. #    Log into the terminal server. Try three times to
  150. #    send the username. Use counter #1 to count the
  151. #    number of login attempts.
  152.  
  153. label startlogin
  154. setcount 1 0
  155. label login
  156. ifcountgt 1 3 goto cantlogin
  157. message "Logging in as $user..."
  158. setcount 0 0
  159. label user
  160. flush
  161. ifcountgt 0 3 goto baduser
  162. send "$user\r"
  163. {
  164.     ifmatch "Password:" break
  165.     ifmatch "Username:" goto user
  166.     iftime 10 goto baduser
  167. }
  168.  
  169. #    Send your password and wait for the ">" prompt.
  170. #    If we see the "Username:" prompt again, then
  171. #    we didn't get logged in so try again.
  172.  
  173. message "Sending password...\n"
  174. flush
  175. send "$password\r"
  176. {
  177.     ifmatch ">" goto setslip
  178.     ifmatch "Access denied" goto accessdenied
  179.     iftime 45 goto cantlogin
  180. }
  181. goto setslip    # Shouldn't get here, but just in case.
  182.  
  183. #    If the login attempt fails, we land here.  We can
  184. #    take whatever action is necessary to get another
  185. #    login prompt.  In the case of Cisco terminal servers,
  186. #    no other action is necessary, so we just look for
  187. #    "Username:" immediately.  Some systems may require
  188. #    a \n to get their attention again.  Most recovery
  189. #    actions will probably go outside the loop.
  190.  
  191. label accessdenied
  192. {
  193.     ifmatch "Username:" goto login
  194.     ifmatch "NO CARRIER" goto cantlogin
  195.     iftime 10 goto cantlogin
  196. }
  197. goto cantlogin    # Shouldn't get here, but just in case
  198.  
  199. #    Put the terminal line into SLIP mode.
  200.  
  201. label setslip
  202. message "Setting terminal line for SLIP operation..."
  203. flush
  204. send "term down\r"
  205. {
  206.     ifmatch ">" break
  207.     iftime 10 goto cantsetterm
  208. }
  209.  
  210. #     Enable SLIP.  The SLIP server tells us our MTU in bytes,
  211. #    so look for the word "bytes".
  212.  
  213. message "Enabling SLIP on server..."
  214. flush
  215. send "slip default\r"
  216. {
  217.   ifmatch "system" break
  218.     iftime 10 goto cantstartslip
  219. }
  220. ipfind IPADDRESS 
  221. set IPGWADDRESS 134.84.101.254
  222. set IPNETMASK 255.255.255.0
  223.  
  224. #    All done.  Send message to alert the user,
  225. #    flush the junk out of the receive buffer,
  226. #    and return success.
  227.  
  228. message "Script complete"
  229. flush
  230. return 1
  231.  
  232. #    Error handlers.
  233.  
  234. label abort
  235. beep
  236. message "\bOperation cancelled."
  237. goto aborted
  238.  
  239. label hangupabort
  240. beep
  241. message "\bOperation cancelled."
  242. goto hangup
  243.  
  244. label cantinitterminal
  245. beep
  246. message "Didn't respond to terminal initialization."
  247. message "Check the ADI-100."
  248. goto aborted
  249.  
  250. label cantinitmodem
  251. beep
  252. message "The modem didn't respond to initialization."
  253. message "Check the modem."
  254. goto aborted
  255.  
  256. label nodialtone
  257. beep
  258. message "The modem could not detect a dialtone."
  259. message "Check the phone line."
  260. goto aborted
  261.  
  262. label inputerror
  263. beep
  264. message "We have an input error."
  265. goto aborted
  266.  
  267. label phonebusy
  268. beep
  269. message "The number $phone is busy."
  270. goto aborted
  271.  
  272. label nocarrier
  273. beep
  274. message "The modem could not establish a connection."
  275. message "Is $phone the right number?"
  276. goto aborted
  277.  
  278. label badinitstring
  279. message "This is the wrong script for the modem"
  280. goto aborted
  281.  
  282. label dialtimeout
  283. message "The modem or SLIP server isn't responding."
  284. message "Try again."
  285. goto aborted
  286.  
  287. label cantwakeserver
  288. message "The SLIP server isn't responding."
  289. message "Try again."
  290. goto hangup
  291.  
  292. label baduser
  293. beep
  294. message "The SLIP server won't accept a username."
  295. message "Try again."
  296. goto hangup
  297.  
  298. label cantlogin
  299. beep
  300. message "Login to SLIP server failed, check username"
  301. message "and password."
  302. goto hangup
  303.  
  304. label cantsetterm
  305. beep
  306. message "Can't set terminal line for SLIP operation."
  307. goto hangup
  308.  
  309. label cantstartslip
  310. beep
  311. message "Can't put server into SLIP mode."
  312. goto hangup
  313.  
  314. #    General back-end for bailing out.  Make sure we've hung up the phone.
  315.  
  316. label hangup
  317. dtr off
  318.  
  319. label aborted
  320. message "\bScript aborted."
  321. ask junk                            # This activates the OK button.
  322. flush
  323. return 0
  324.  
  325. # Stuff to do when "Disconnect" button is pressed.
  326.  
  327. label disconnect
  328. dtr off
  329. return 1
  330.